package controller

import (
	"fmt"
	"net/http"

	"github.com/gin-gonic/gin"
)

// 统一加载路由
func LoadRouter(router *gin.Engine) {
	// 应用列表
	router.GET("/apps", func(ctx *gin.Context) {
		resutl := GetAppList(ctx)
		fmt.Println(resutl)
		ctx.JSON(http.StatusOK, &resutl)
	})

	// 应用添加
	router.POST("/app", func(ctx *gin.Context) {
		resutl := CreateApp(ctx)
		ctx.JSON(http.StatusOK, &resutl)
	})

	// 应用查询
	router.GET("/app", func(ctx *gin.Context) {
		resutl := GetApp(ctx)
		ctx.JSON(http.StatusOK, &resutl)
	})

	// 应用更新
	router.PUT("/app", func(ctx *gin.Context) {
		resutl := UpdateApp(ctx)
		ctx.JSON(http.StatusOK, &resutl)
	})

	// 应用信息变更
	router.POST("/app/info", func(ctx *gin.Context) {
		resutl := UpdateAppInfo(ctx)
		ctx.JSON(http.StatusOK, &resutl)
	})

	// 获取应用信息
	router.GET("/app/info", func(ctx *gin.Context) {
		resutl := GetAppInfo(ctx)
		ctx.JSON(http.StatusOK, &resutl)
	})

	// 获取应用审核信息
	router.GET("/app/check", func(ctx *gin.Context) {
		resutl := GetCheckInfo(ctx)
		ctx.JSON(http.StatusOK, &resutl)
	})

	// 版本列表
	router.GET("/versions", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, versionList(ctx))
	})

	// 版本添加
	router.POST("/version", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, versionAdd(ctx))
	})

	// 可发布版本列表
	router.GET("/versions/publish", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, PublishVersionList(ctx))
	})

	// 应用版本发布
	router.POST("/app/publish", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, PublishApp(ctx))
	})

	// 应用资料同步
	router.POST("/app/sync", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, SyncAppInfo(ctx))
	})

	// 版本详细信息
	router.GET("/version", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, GetVersionById(ctx))
	})

	// 版本apk文件下载
	router.GET("/version/apk", func(ctx *gin.Context) {
		DownloadApk(ctx)
	})

	// 审核资料同步
	router.POST("/app/check/sync", func(ctx *gin.Context) {
		ctx.JSON(http.StatusOK, SyncPublishCheckInfo(ctx))
	})
}
